home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 014a / vgakit34.zip / SVGAMODE.ASM < prev    next >
Assembly Source File  |  1990-05-04  |  2KB  |  108 lines

  1.  
  2.     include model.h
  3.  
  4. ;
  5. ;    VGAKIT Version 3.4
  6. ;
  7. ;    Copyright 1988,89,90 John Bridges
  8. ;    Free for use in commercial, shareware or freeware applications
  9. ;
  10. ;    SVGAMODE.ASM
  11. ;
  12. ;
  13. .data
  14.     extrn    cirrus:byte,video7:byte,paradise:byte,tseng:byte
  15.     extrn    tseng4:byte,chipstech:byte,trident:byte,ativga:byte
  16.     extrn    everex:byte,aheada:byte,aheadb:byte,oaktech:byte
  17.     extrn    vga512:byte
  18.  
  19.     extrn    curbk:word
  20.  
  21.     public    maxx,maxy
  22.  
  23. maxx    dw    ?
  24. maxy    dw    ?
  25.  
  26. .code
  27.  
  28.     public    svgamode
  29.     public    txtmode
  30.     public    setmany
  31.  
  32. svgamode proc            ;Set 640x480x256 on most SVGA cards
  33.     cmp    [oaktech],0
  34.     jz    noak
  35.     mov    ax,53h
  36.     jmp    short godo
  37. noak:    cmp    [aheada],0
  38.     jnz    skp
  39.     cmp    [aheadb],0
  40.     jz    noab
  41. skp:    mov    ax,61h
  42.     jmp    short godo
  43. noab:    cmp    [everex],0
  44.     jz    noev
  45.     mov    ax,70h
  46.     mov    bl,30h
  47.     jmp    short godo
  48. noev:    cmp    [ativga],0
  49.     jz    noati
  50.     mov    ax,62h
  51.     jmp    short godo
  52. noati:    cmp    [trident],0
  53.     jz    notr
  54.     mov    ax,5dh
  55.     jmp    short godo
  56. notr:    cmp    [video7],0
  57.     jz    nov7
  58.     mov    ax,6f05h
  59.     mov    bl,67h
  60.     jmp    short godo
  61. nov7:    cmp    [chipstech],0
  62.     jz    noct
  63.     mov    ax,79h
  64.     jmp    short godo
  65. noct:    cmp    [paradise],0
  66.     jz    nopd
  67.     mov    ax,5fh
  68.     jmp    short godo
  69. nopd:    cmp    [tseng],0
  70.     jz    nots
  71.     mov    ax,2eh
  72. godo:    int    10h
  73.  
  74.     mov    [curbk],-1
  75.     mov    [maxx],640        ;default width to 640 for now
  76.     mov    ax,40h
  77.     mov    es,ax
  78.     mov    al,es:[84h]        ;get height of screen
  79.     mul    byte ptr es:[85h]
  80.     mov    [maxy],ax
  81.  
  82. nots:    ret
  83. svgamode endp
  84.  
  85. txtmode    proc
  86.     mov    ax,3
  87.     int    10h
  88.     ret
  89. txtmode    endp
  90.  
  91. setmany proc    palbuf:ptr byte,begcol:word,numcol:word
  92. if @Datasize
  93.     les    dx,[palbuf]
  94. else
  95.     mov    ax,ds
  96.     mov    es,ax
  97.     mov    dx,[palbuf]
  98. endif
  99.     mov    bx,[begcol]
  100.     mov    cx,[numcol]
  101.     mov    ax,1012h
  102.     int    10h
  103.     ret
  104. setmany endp
  105.  
  106.     end
  107.  
  108.